﻿namespace TestTool.Proxies.Onvif
{
    using System;
    using System.CodeDom.Compiler;
    using System.ServiceModel;

    [GeneratedCode("System.ServiceModel", "3.0.0.0"), ServiceContract(Namespace="http://www.onvif.org/ver10/deviceIO/wsdl", ConfigurationName="DeviceIOPort")]
    public interface DeviceIOPort
    {
        [return: MessageParameter(Name="AudioOutputConfiguration")]
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioOutputConfiguration", ReplyAction="*"), XmlSerializerFormat]
        GetAudioOutputConfigurationResponse GetAudioOutputConfiguration(GetAudioOutputConfigurationRequest request);
        [return: MessageParameter(Name="AudioOutputOptions")]
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioOutputConfigurationOptions", ReplyAction="*")]
        GetAudioOutputConfigurationOptionsResponse GetAudioOutputConfigurationOptions(GetAudioOutputConfigurationOptionsRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioOutputs", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        GetAudioOutputsResponse1 GetAudioOutputs(GetAudioOutputsRequest1 request);
        [return: MessageParameter(Name="AudioSourceConfiguration")]
        [XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioSourceConfiguration", ReplyAction="*")]
        GetAudioSourceConfigurationResponse GetAudioSourceConfiguration(GetAudioSourceConfigurationRequest request);
        [return: MessageParameter(Name="AudioSourceOptions")]
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioSourceConfigurationOptions", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        GetAudioSourceConfigurationOptionsResponse GetAudioSourceConfigurationOptions(GetAudioSourceConfigurationOptionsRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetAudioSources", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity))]
        GetAudioSourcesResponse1 GetAudioSources(GetAudioSourcesRequest1 request);
        [return: MessageParameter(Name="DigitalInputs")]
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetDigitalInputs", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        GetDigitalInputsResponse GetDigitalInputs(GetDigitalInputsRequest request);
        [return: MessageParameter(Name="RelayOutputOptions")]
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetRelayOutputOptions", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        GetRelayOutputOptionsResponse GetRelayOutputOptions(GetRelayOutputOptionsRequest request);
        [ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetRelayOutputs", ReplyAction="*")]
        GetRelayOutputsResponse1 GetRelayOutputs(GetRelayOutputsRequest1 request);
        [return: MessageParameter(Name="SerialPortConfiguration")]
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetSerialPortConfigurations", ReplyAction="*")]
        SerialPortConfiguration GetSerialPortConfiguration(string SerialPortToken);
        [return: MessageParameter(Name="SerialPortOptions")]
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetSerialPortConfigurationOptions", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        SerialPortConfigurationOptions GetSerialPortConfigurationOptions(string SerialPortToken);
        [return: MessageParameter(Name="SerialPort")]
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetSerialPorts", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity))]
        GetSerialPortsResponse GetSerialPorts(GetSerialPortsRequest request);
        [return: MessageParameter(Name="Capabilities")]
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetServiceCapabilities", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        IOServiceCapabilities GetServiceCapabilities();
        [return: MessageParameter(Name="VideoOutputConfiguration")]
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoOutputConfiguration", ReplyAction="*"), XmlSerializerFormat]
        GetVideoOutputConfigurationResponse GetVideoOutputConfiguration(GetVideoOutputConfigurationRequest request);
        [return: MessageParameter(Name="VideoOutputConfigurationOptions")]
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoOutputConfigurationOptions", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity))]
        GetVideoOutputConfigurationOptionsResponse GetVideoOutputConfigurationOptions(GetVideoOutputConfigurationOptionsRequest request);
        [return: MessageParameter(Name="VideoOutputs")]
        [ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoOutputs", ReplyAction="*")]
        GetVideoOutputsResponse GetVideoOutputs(GetVideoOutputsRequest request);
        [return: MessageParameter(Name="VideoSourceConfiguration")]
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoSourceConfiguration", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity))]
        GetVideoSourceConfigurationResponse GetVideoSourceConfiguration(GetVideoSourceConfigurationRequest request);
        [return: MessageParameter(Name="VideoSourceConfigurationOptions")]
        [XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoSourceConfigurationOptions", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity))]
        GetVideoSourceConfigurationOptionsResponse GetVideoSourceConfigurationOptions(GetVideoSourceConfigurationOptionsRequest request);
        [ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/GetVideoSources", ReplyAction="*")]
        GetVideoSourcesResponse1 GetVideoSources(GetVideoSourcesRequest1 request);
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), XmlSerializerFormat, OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SendReceiveSerialCommand", ReplyAction="*")]
        SendReceiveSerialCommandResponse SendReceiveSerialCommand(SendReceiveSerialCommandRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetAudioOutputConfiguration", ReplyAction="*"), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        SetAudioOutputConfigurationResponse SetAudioOutputConfiguration(SetAudioOutputConfigurationRequest request);
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetAudioSourceConfiguration", ReplyAction="*")]
        SetAudioSourceConfigurationResponse SetAudioSourceConfiguration(SetAudioSourceConfigurationRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetRelayOutputSettings", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        void SetRelayOutputSettings(RelayOutput RelayOutput);
        [ServiceKnownType(typeof(DeviceEntity)), ServiceKnownType(typeof(ConfigurationEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetRelayOutputState", ReplyAction="*"), XmlSerializerFormat]
        SetRelayOutputStateResponse SetRelayOutputState(SetRelayOutputStateRequest request);
        [OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetSerialPortConfiguration", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity)), ServiceKnownType(typeof(DeviceEntity)), XmlSerializerFormat]
        void SetSerialPortConfiguration(SerialPortConfiguration SerialPortConfiguration, bool ForcePersistance);
        [XmlSerializerFormat, ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetVideoOutputConfiguration", ReplyAction="*"), ServiceKnownType(typeof(ConfigurationEntity))]
        SetVideoOutputConfigurationResponse SetVideoOutputConfiguration(SetVideoOutputConfigurationRequest request);
        [ServiceKnownType(typeof(DeviceEntity)), OperationContract(Action="http://www.onvif.org/ver10/deviceio/wsdl/SetVideoSourceConfiguration", ReplyAction="*"), XmlSerializerFormat, ServiceKnownType(typeof(ConfigurationEntity))]
        SetVideoSourceConfigurationResponse SetVideoSourceConfiguration(SetVideoSourceConfigurationRequest request);
    }
}

